import { Rule, RuleType, } from '@midwayjs/validate';

// 简洁的登录DTO
export class LoginDto {
    @Rule(RuleType.string().required().min(1).max(50))
    account: string; // 账号
    
    @Rule(RuleType.string().required().min(1).max(50))
    password: string; // 密码
}

// 简洁的注册DTO
export class RegisterDto {
    @Rule(RuleType.string().required().pattern(/^[A-Za-z0-9]{6,15}$/))
    account: string;
    @Rule(RuleType.string().required().pattern(/^1\d{10}$/))
    phone: string;
    @Rule(RuleType.string().required().email())
    email: string;
    @Rule(RuleType.string().required().pattern(/^[A-Za-z0-9]{6,15}$/))
    password: string;
    @Rule(RuleType.string().required().pattern(/^[\u4e00-\u9fa5]{2,8}$/))
    name: string;
}
export class UpdateUserInfoDto {
    @Rule(RuleType.string().optional().email())
    email?: string; // 邮箱（可选）
    
    @Rule(RuleType.string().optional().pattern(/^1\d{10}$/))
    phone?: string; // 手机号（可选）大陆 1 开头 11 位

    @Rule(RuleType.string().optional().valid('男', '女'))
    gender?: string; // 性别（可选）

    @Rule(RuleType.string().optional().valid('医生', '患者', '研究人员'))
    identity?: string; // 身份（可选）
}
